This invention relates to Magnetoresistive Random Access Memories (MRAMs), and more particularly to a read operation for a MRAM having toggling memory cells.
Non-volatile memory devices, such as FLASH memories, are extremely important components in electronic systems. FLASH is a major non-volatile memory device in use today. Disadvantages of FLASH memory include high voltage requirements and slow program and erase times. Also, FLASH memory has a poor write endurance of 104-106 cycles before memory failure. In addition, to maintain reasonable data retention, the scaling of the gate oxide is restricted by the tunneling barrier seen by the electrons. Hence, FLASH memory is limited in the dimensions to which it can be scaled.
To overcome these shortcomings, magnetic memory devices are being evaluated. One such device is magnetoresistive RAM (hereinafter referred to as xe2x80x9cMRAMxe2x80x9d). To be commercially practical, however, MRAM must have comparable memory density to current memory technologies, be scalable for future generations, operate at low voltages, have low power consumption, and have competitive read/write speeds.
For an MRAM device, the stability of the nonvolatile memory state, the repeatability of the read/write cycles, and the memory element-to-element switching field uniformity are three of the most important aspects of its design characteristics. A memory state in MRAM is not maintained by power, but rather by the direction of the magnetic moment vector. Storing data is accomplished by applying magnetic fields and causing a magnetic material in a MRAM device to be magnetized into either of two possible memory states. Reading data stored in the memory is accomplished by sensing differences in tunnel junction resistance in the MRAM cells between the two states. Typically, the stored state of a memory cell can be determined by comparing the cell state to that of a reference cell. However, a problem occurs when the MRAM cell is a xe2x80x9ctogglingxe2x80x9d cell. That is, a write operation for a toggling cell does not set the bit to a particular value or state, but rather toggles the value between the two states. Accordingly, the cell state must be determined first before the write operation takes place. However, the reference cell state must also be determined before it can be used. Therefore, there is a need for a way to determine the state of a MRAM cell without the use of a reference.